struct _PI_BUS_EXTENSION// Size=0x44
{
    unsigned long Flags;// Offset=0x0 Size=0x4
    unsigned char NumberCSNs;// Offset=0x4 Size=0x1
    unsigned char * ReadDataPort;// Offset=0x8 Size=0x4
    unsigned char DataPortMapped;// Offset=0xc Size=0x1
    unsigned char * AddressPort;// Offset=0x10 Size=0x4
    unsigned char AddrPortMapped;// Offset=0x14 Size=0x1
    unsigned char * CommandPort;// Offset=0x18 Size=0x4
    unsigned char CmdPortMapped;// Offset=0x1c Size=0x1
    unsigned long NextSlotNumber;// Offset=0x20 Size=0x4
    struct _SINGLE_LIST_ENTRY DeviceList;// Offset=0x24 Size=0x4
    struct _SINGLE_LIST_ENTRY CardList;// Offset=0x28 Size=0x4
    struct _DEVICE_OBJECT * PhysicalBusDevice;// Offset=0x2c Size=0x4
    struct _DEVICE_OBJECT * FunctionalBusDevice;// Offset=0x30 Size=0x4
    struct _DEVICE_OBJECT * AttachedDevice;// Offset=0x34 Size=0x4
    unsigned long BusNumber;// Offset=0x38 Size=0x4
    enum _SYSTEM_POWER_STATE SystemPowerState;// Offset=0x3c Size=0x4
    enum _DEVICE_POWER_STATE DevicePowerState;// Offset=0x40 Size=0x4
};